package com.produto.persistencia.dao;

import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;

import com.produto.modelo.Tipo;
import com.produto.persistencia.HibernateUtil;

public class TipoDAO {

	private Session sessao;
	
	public TipoDAO() {
		sessao = HibernateUtil.getSessionFactory().openSession();
	}
	
	public void insert(Tipo t) {
		sessao.beginTransaction();
		sessao.save(t);
		sessao.getTransaction().commit();
		sessao.close();
	}
	
	@SuppressWarnings("unchecked")
	public List<Tipo> selectTodos() {
		Query q = sessao.getNamedQuery("pesq_tipo_ordenada");
		sessao.beginTransaction();
		List<Tipo> resultado = q.list();
		sessao.getTransaction().commit();
		sessao.close();
		return resultado;
	}
	
	public void update(Tipo t) {
		sessao.beginTransaction();
		sessao.update(t);
		sessao.getTransaction().commit();
		sessao.close();
	}
	
	public void delete(Tipo t) {
		sessao.beginTransaction();
		sessao.delete(t);
		sessao.getTransaction().commit();
		sessao.close();
	}
}
